package com.example.forum.dao;

import com.example.forum.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserMapper {
    int insert(User row);

    int insertSelective(User row);

    User selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(User row);

    int updateByPrimaryKey(User row);

    User selectByUsername(@Param("username") String username);

    /**
     * 将对应用户的帖子数减一,若用户的文章数为 0 或者用户信息已被删除则不执行
     *
     * @param id 用户id
     * @return 受影响的行数
     */
    int delOneArticleCountById(@Param("id") Long id);
}